#利用递归计算100的阶乘100！
def f(n):
    if n<=1:
        return 1
    else:
        return n*f(n-1)  #100*f(99)   100*99*98*...*2*1



num=int(input('请输入一个正整数：'))  #输入一个100
s=f(num)
print(num,'的阶乘是：',s)  #5*4*3*2*1=120


#例题1：利用递归计算1-100相加之和
def sum(n):
    if n==1:
        return 1
    else:
        return n+sum(n-1)

    print('1-100相加之和为',sum(100))


#计算斐波那契数列 F(0),F（1）=1，F(n)=F(n-1)+F(n-2)(n>=2)的第n项
def fibo(n):
    if n<=2:
        return 1
    else:
        return fibo(n-1)+fibo(n-2)

print('斐波那契数列的第{}项为{}'.format(7,fibo(7))



##匿名函数
##<函数名>=lambda<参数列表>:<表达式>
#使用匿名函数实现a+b+c
sum=lambda a,b,c: a+b+c
print(sum(1,2,3))

#编写lambda函数，参数为正方形的边长m，输出正方形的面积。
 fun = lambda m: m**2
 print(fun(5))